As content viewing devices become more mobile and widespread, users desire to access content anytime, anywhere, and via a variety of different devices. Users may desire to view the same content on various devices causing multiple downloads of the same files. Providing such services is very demanding on network resources. Thus, there is a need for more sophisticated methods of providing content, for example, to multiple devices.